package georeduy.clases;

import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;

import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

@Entity
public class SitioInteres implements Serializable
{
	
	private static final long serialVersionUID = 1L;
	@Id
	private String nombre;	
	private String descripcion;
	private String latitud;
	private String longitud;
	
	@LazyCollection(LazyCollectionOption.FALSE)
	@OneToMany (cascade = CascadeType.ALL)
	private List<Imagen> imagenes;	
	
	
	@LazyCollection(LazyCollectionOption.FALSE)
	@ElementCollection
	private List<String> categorias;
	
	@LazyCollection(LazyCollectionOption.FALSE)
	@OneToMany
	private List<CheckIn> checkins;	
	
	public SitioInteres() {
	}

	
	
	
	public List<String> getCategorias() {
		return categorias;
	}




	public void setCategorias(List<String> categorias) {
		this.categorias = categorias;
	}




	public SitioInteres(String nombre, String descripcion, String latitud,
			String longitud, List<Imagen> imagenes,
			List<String> categorias) {
		super();
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.latitud = latitud;
		this.longitud = longitud;
		this.imagenes = imagenes;
		this.categorias = categorias;
		this.checkins = new LinkedList<CheckIn>();
		
	}

	public List<Imagen> getImagenes() {
		return imagenes;
	}

	public void setImagenes(List<Imagen> imagenes) {
		this.imagenes = imagenes;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public String getLatitud() {
		return latitud;
	}

	public void setLatitud(String latitud) {
		this.latitud = latitud;
	}

	public String getLongitud() {
		return longitud;
	}

	public void setLongitud(String longitud) {
		this.longitud = longitud;
	}

	
	public List<CheckIn> getCheckins() {
		return checkins;
	}

	public void setCheckins(List<CheckIn> checkins) {
		this.checkins = checkins;
	}
	
}
